With current technology, it takes a tremendous amount of a business's resources to develop any non-trivial computer-based system. Such endeavors may include brainstorming, initial designs, design reviews, coding, testing, beta-testing, and rollout. However, even if the system is error and bug free, and meets all of the original system requirements, it may turn out that the system is not as useful as originally anticipated. One reason for this shortcoming may be the fact that the business environment is constantly changing, and the system that was needed just a few months ago may not be the system that is presently needed. Moreover, to change such a system to meet current needs would take a great deal of effort, and even if the effort was expended, there is no guarantee that the revamped product would meet the current specifications, or even if it did, how long it would remain a useful product. The art would therefore benefit from a technology that would permit the easy redesign of computer systems without the vast expenditure of resources that it presently takes to do so.